import java.io.File;

public class MavenClone {
    public static void main(String[] args) {
            //填入maven仓库路径
            File file = new File("C:\\maven\\repo");
            File[] files = file.listFiles();
            for (File file1 : files) {
                if (file1.isDirectory()) search(file1);
            }
        }

        //判断空文件夹/文件夹中有lastUpdated 第一个递归
        private static void search(File file) {
            File[] files = file.listFiles();
            if (files.length == 0) {
                delEmpty(file);
            }
            for (File f : files) {
                if (f.isFile() && f.getName().contains("lastUpdated")) {
                    //深度模式
                    /*delAll(file);
                    break;*/

                    //清洁模式
                    System.out.println("要删除的文件 " + f.getAbsolutePath());
                    f.delete();
                    delEmpty(file);
                } else if (f.isDirectory()) search(f);
            }

        }


        //删除文件夹下所有文件后再删除文件夹
        private static void delAll(File file) {
            File[] files = file.listFiles();
            for (int i = 0; i < files.length; i++) {
                System.out.println("要删除的文件 " + files[i].getAbsolutePath());
                files[i].delete();
            }
            delEmpty(file);
        }

        //删除空文件夹的同时判断父文件夹是否为空 第二个递归
        private static void delEmpty(File file) {
            File parentFile = file.getParentFile();
            System.out.println("空文件夹 " + file.getAbsolutePath());
            file.delete();
            if (parentFile.listFiles().length == 0) {
                delEmpty(parentFile);
            }
        }

}
